package hydrap2p.test.protocol;

import hydrap2p.ServiceLocation;
import hydrap2p.download.BaseDownload;
import hydrap2p.download.DownloadEvent;
import hydrap2p.download.DownloadPriority;
import hydrap2p.download.DownloadState;
import hydrap2p.download.DownloadSubscriptionType;
import hydrap2p.download.Downloader;
import hydrap2p.download.Protocol;
import hydrap2p.download.Source;
import hydrap2p.library.Range;

import java.util.List;
import java.util.Map;

import org.apache.thrift.TException;

public class FakeDownloader implements Downloader.Iface
{
	@Override
	public boolean addDownloadProtocol(ServiceLocation arg0, String arg1)
			{
		return false;
	}

	@Override
	public boolean addSource(long arg0, Source arg1) {
		return false;
	}

	@Override
	public long createDownload(List<Source> arg0, String arg1, String arg2,
			long arg3) {
		return 0;
	}

	@Override
	public long createMultifileDownload(List<Source> arg0, String arg1,
			List<String> arg2, List<Long> arg3) {
		return 0;
	}

	@Override
	public void deleteSourceMapExtra(long arg0, Source arg1, String arg2)
			{
	}

	@Override
	public void erroredDownloading(long arg0, Source arg1, Range arg2,
			boolean arg3) {
	}

	@Override
	public void finishedDownloading(long arg0, Source arg1, Range arg2)
			{
	}

	@Override
	public DownloadPriority getDownloadPriority(long arg0) {
		return null;
	}

	@Override
	public List<Protocol> getDownloadProtocols() {
		return null;
	}

	@Override
	public DownloadState getDownloadState(long arg0) {
		return null;
	}

	@Override
	public BaseDownload getDownloadWithUid(long arg0) {
		return null;
	}

	@Override
	public List<Source> listSources(long arg0) {
		return null;
	}

	@Override
	public boolean removeDownload(long arg0) {
		return false;
	}

	@Override
	public boolean removeDownloadProtocol(ServiceLocation arg0)
			{
		return false;
	}

	@Override
	public boolean removeSource(long arg0, Source arg1) {
		return false;
	}

	@Override
	public void setDownloadPriority(long arg0, DownloadPriority arg1) {
	}

	@Override
	public void setDownloadState(long arg0, DownloadState arg1) {
	}

	@Override
	public void setSourceAvailableRanges(long arg0, Source arg1,
			List<Range> arg2) {
	}

	@Override
	public void setSourceDownloadedRange(long arg0, Source arg1, Range arg2)
			{
	}

	@Override
	public void setSourceMapExtra(long arg0, Source arg1, String arg2,
			String arg3) {
	}

	@Override
	public void setSourceStatus(long arg0, Source arg1, String arg2)
			{
	}

	@Override
	public void subscribeListener(ServiceLocation arg0,
			DownloadSubscriptionType arg1) {		
	}

	@Override
	public void triggerDownloadEvent(DownloadEvent arg0) {
		
	}

	@Override
	public void unsubscribeListener(ServiceLocation arg0) {
		
	}

	@Override
	public void ping() {
	}

	@Override
	public List<String> supportedInterfaces() {
		return null;
	}

	@Override
	public boolean setDownloadExtra(long uid, String key, String value) throws TException {
		return false;
	}

	@Override
	public Map<Long, BaseDownload> getDownloads() throws TException {
		return null;
	}
	
}